import { handlerGobackClick, hint } from "../../../utils/util";
import Dialog from '../../../miniprogram_npm/@vant/weapp/dialog/dialog';
Page({
  data: {
    show: false,
    checked: false,
    selectKey: "",
    selectValue: "请选择小区",
    userName: "",
    userPhone: "",
    userIdCard: "",
    building: "",
    unit: "",
    floor: "",
    room: "",
    columns: [
      { text: "秦陵小区", key: '1' },
      { text: "自来水小区", key: '2' },
      { text: "北开元小区", key: '3' },
      { text: "桃源路信合", key: '4' },
      { text: "公安局消防队", key: '5' },
      { text: "南大街公安局家属院", key: '6' },
      { text: "国税局小区", key: '7' },
      { text: "区医院小区", key: '8' },
      { text: "福利小区", key: '9' },
      { text: "军干所家属楼", key: '10' },
      { text: "交通局家属院", key: '11' },
      { text: "一运司家属院", key: '12' },
      { text: "银桥集团家属院", key: '13' },
      { text: "乳品厂家属区", key: '14' },
      { text: "教师小区", key: '15' },
      { text: "怡园小区", key: '16' },
      { text: "碧云小区", key: '17' },
      { text: "智慧社区", key: '18' },
    ],
  },
  handlerGobackClick,
  onShow() {
    let userinfo = wx.getStorageSync("userinfoData")
    if (userinfo) {
      this.setData({ ...userinfo })
    } else {
      Dialog.confirm({
        title: '提示',
        message: `本次采集为临时采集，请知晓！！！涉及小区如下：秦陵小区、自来水小区、北开元小区、桃源路信合、公安局消防队、南大街公安局家属院、国税局小区、区医院小区、福利小区、军干所家属楼、交通局家属院、一运司家属院、银桥集团家属院、乳品厂家属区、教师小区、怡园小区、碧云小区、智慧社区`
      })
        .then(() => {
          // on confirm
        })
        .catch(() => {
          // on cancel
          wx.navigateBack()
        });
    }
  },
  camera() {
    // wx.chooseImage({
    //   count: 1,
    //   sizeType: ['original'],
    //   sourceType: ['camera'],
    //   success: (res) => {
    //     let src = res.tempFiles[0].path
    //     this.setData({
    //       src
    //     })
    //   }
    // })
    const ctx = wx.createCameraContext()
    ctx.takePhoto({
      quality: 'high',
      success: (res) => {
        this.setData({
          src: res.tempImagePath
        })
      }
    })
  },
  showSelect() {
    this.setData({
      show: true
    })
  },
  //信息
  onChange(e) {
    let key = e.currentTarget.dataset.key
    this.setData({
      [key]: e.detail
    })
  },
  //地址
  buildChange(e) {
    let key = e.currentTarget.dataset.key
    this.setData({
      [key]: e.detail.value
    })
  },
  onClose() {
    this.setData({
      show: false
    })
  },
  confirm(e) {
    this.setData({
      selectKey: e.detail.value.key,
      selectValue: e.detail.value.text
    })
    this.onClose();
  },
  clickTo() {
    let { userName, userPhone, selectKey, selectValue, userIdCard, building, unit, floor, room } = this.data
    if (selectKey == "") {
      hint('请选择小区')
      return
    }
    if (userName == "") {
      hint('请输入姓名')
      return
    }
    if (userPhone == "") {
      hint('请输入联系电话')
      return
    }
    if (!(/^1[3|4|5|7|8][0-9]{9}$/.test(userPhone))) {
      hint("手机号码不正确");
      return;
    }
    if (userIdCard == "") {
      hint('身份证号不能为空')
      return
    }
    let idCardSure = this.IdentityCodeValid(userIdCard)
    if (!idCardSure) {
      return
    }
    if (building == "") {
      hint('请输入楼号')
      return
    }
    if (unit == "") {
      hint('请输入单元')
      return
    }
    if (floor == "") {
      hint('请输入楼层')
      return
    }
    if (room == "") {
      hint('请输入房间号')
      return
    }
    wx.setStorageSync('userinfoData', this.data)
    hint("加载中", "loading")
    wx.navigateTo({
      url: '../camera/index'
    })

  },
  IdentityCodeValid(code) {
    var city = {
      11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁",
      22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽",
      35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北 ", 43: "湖南",
      44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州",
      53: "云南", 54: "西藏 ", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏",
      65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外 "
    };
    var tip = "";
    var pass = true;
    if (!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)) {
      // tip = "身份证号格式错误";
      tip = "身份证号不正确";
      pass = false;
    }
    else if (!city[code.substr(0, 2)]) {
      // tip = "地址编码错误";
      tip = "身份证号不正确";
      pass = false;
    }
    else {
      //18位身份证需要验证最后一位校验位
      if (code.length == 18) {
        code = code.split('');
        //∑(ai×Wi)(mod 11)
        //加权因子
        var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
        //校验位
        var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
        var sum = 0;
        var ai = 0;
        var wi = 0;
        for (var i = 0; i < 17; i++) {
          ai = code[i];
          wi = factor[i];
          sum += ai * wi;
        }
        var last = parity[sum % 11];
        if (parity[sum % 11] != code[17]) {
          // tip = "校验位错误";
          tip = "身份证号不正确";
          pass = false;
        }
      }
    }
    if (!pass) hint(tip);
    return pass;
  }
})
